home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GFX Sensations 1
/
Graphic Sensations - Volume 1.iso
/
tools
/
amiga
/
gfx_card
/
showgif.lha
/
ShowGIF.doc
< prev
next >
Wrap
Text File
|
1994-09-17
|
6KB
|
228 lines
=========================
ShowGIF V1.6
=========================
Sept. 11, 1994
Copyright (c) 1994 by Roman Hiestand
Copyright notice
----------------
The program ShowGIF and its documentation are written and copyrighted by
Roman Hiestand. They may be distributed freely providing the following
restrictions are satisfied:
- Distributors may not charge more than the cost of a diskette used in
the distribution of this program.
- Distributors may only distribute the unmodified copy of the original
program, along with it's documentation, and copyright notices intact.
- Commercial distribution is only possible with written permission
from the author.
Disclaimer
----------
This program and its documentation is provided "as is". No warranties are made
with respect to the accuracy, reliability, performance or operation of this
software and information. You are using this program at your own risk. The
author is not liable for any damages that may have been caused by using this
software.
Description
-----------
ShowGIF is, as the name says, a GIF viewer for the Picasso-II graphics board
of VillageTronic.
The program can be started from CLI or Workbench with one or more file
names/icons. If the program cannot load an image (because you didn't submit
a filename or the file doesn't exist), a file requester pops up.
Usage
-----
From CLI: ShowGIF Image [...]
Template: FILES/M,BUF/N,DELAY/N
FILES/M: One or more filenames to be viewed
If no filenames are given or the files weren't GIFs, a
file-requester pops up.
BUF/N: Specify the FileBufferSize in KB, like BUF 100
DELAY/N: Specifies the delay in seconds after showing the
picture. If none is given, the program waits for
a key or a mousebutton.
Remember: during this delay, the program can't be
stopped !
Examples:
ShowGIF BUF=5 SYS:Images/Globe.gif
ShowGIF DF0:Pictures/Mercedes.gif DF0:Pictures/Family.GIF BUF 10 DELAY 5
From Workbench:
- Default Tool: Specify ShowGIF as the default tool of an image
- Multiple selection: With the shift-key pressed, select an image and
double-click on ShowGIF's icon.
There are no arguments from the WB.
Features
--------
- fully programmed in assembler
- uses a file buffer (50 KB by default)
- CLI or WB start
- very system-friendly
- (nearly) pure
- can be aborted at anytime (except during a crash ... :-) )
- no 'light' background (since V1.1)
- file requester (since V1.2)
- FileBufSize can be specified (since V1.3)
- supports entire GIF87a standard (local color maps, interlaced images,
multiple images, since V1.5)
- supports partly GIF89a standard (comment/plain text extension)
About being 'nearly' pure:
You can safely make this program resident. You can run ShowGIF as many times
as you want, if you run one *after* the other. A problem *can* arise when you
run two or more ShowGIF's at the same time. The only part that is not pure is
where it opens the screen and the window. This time is quite short, and it is
very unlikely to happen that two ShowGIF's interfere. By the way, have you
ever tried to view two images at the very same time ? (Not very useful, ay ?)
Requirements
------------
Kick 2.0 and vilintuisup.library version > 2.0.
Bugs
----
None known.
The problem is: I haven't got any GIFs with local colors, multiple images
or plain text extensions. So I couldn't test it. I think, it works, but
I'm not sure.
If you find a bug, please report it to me together with as much information
as possible that could help me to fix it: your computer, configuration, kick
version and so on.
Future plans
------------
- a bunch of options (Verbose ...)
- pattern matching
- view images larger than the largest screen available
- reduce colors
- faster ...
Notes about this program
------------------------
The Graphics Interchange Format(c) is the Copyright property of CompuServe
Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated.
This program has been fully written in assembler. It is therefore very short
and quite fast. The GIF decoding algorithm is mainly based on the c-source
(jrdgif.c) of the jpeg software (version 4 of the jpeg software release),
which itself is based on giftoppm. Many thanks to the JPEG group ! (Even if
their real goal is to provide the JPEG-standard, not software for GIF :-) )
ShowGIF is pretty much optimised. Not only by the assembler (PhxAss is GREAT!
Thanks to F. Wille), but also by hand. At this time, I can't think of another
optimisation.
When I compared ShowGIF to VT, I was pretty surprised because I didn't expect
VT being so fast. Maybe I overlooked a couple of optimisations ...
Comparison table
----------------
(Not representative)
ShowGIF V1.6 ViewGIF 1.6 VT_Picasso V2.1 ReadGIF V1.249
from VillageTronic (J.Weinelt)
------------------------------------------------------------
Executable size 3176 19376 84584 12276
display time (~,secs) 13 33 15 24
Mem needed (~) 1.12 MB 1.18 MB 2.41 MB 1.17 MB
Time & mem are measured with 'globe.gif' (547365 bytes, 912x900), a beautiful
picture of the Venus from NASA. Program & image are on harddisk. The memory is
measured including display memory.
These are just typical values. The differences in speed become smaller with
smaller images and larger if the image is on ram-disk.
Revisions
---------
1.0 - first public release
1.1 - added support for interlaced images
now fills background with darkest color
1.2 - file requester added
1.3 - now checks for Ctrl-C (requested by Markus Illenseer)
corrected a bug in GetCode
added CLI-option BUF
1.4 - Multiple images supported
Output window for workbench
Faster ~10 %
1.5 - Doesn't quit anymore if GIF-revision is >89a
Supports Local color table
Correctly processes (skips) GIF89a extension blocks
CLI-option DELAY
some small optimisations
1.6 - Now supports some GIF89a extensions
even faster !
1.61 - Oops: forgot the titlebar in the file requester
Address
-------
I can be reached at
Roman Hiestand
Luziaweg 15
CH-8807 Freienbach
Switzerland
Fax: CH-055/48 26 37
email: rhiestan@iiic.ethz.ch